package main

import "fmt"

func main() {
	demo11()
	demo2()
}

// 先进先出
// 正文
// 我是第二个defer
// 我是第一个defer
func demo11() {
	// 先进后出
	defer func() {
		println("我是第一个defer")
	}()
	defer func() {
		println("我是第二个defer")
	}()

	println("正文")
}

// 调用时间在return 之后
// defer 输出a=2
func demo2() (a int) {

	a = 1

	defer func() {
		fmt.Printf("defer 输出a=%v", a)

	}()

	return 2
}
